﻿using System;
using System.Collections.Generic;
using System.Text;

namespace DbfDotNet
{
    public enum DbfVersion
    {
        dBaseIII,
        dBaseIV,
        DbfDotNet
    }

    [Flags()]
    public enum FieldMapping
    {
        ExplicitColumnsOnly = 0,
        PublicFields = 1,
        PrivateFields = 2
    }

    public enum OverflowBehaviour
    {
        ThrowError,
        Truncate
    }

    [Flags]
    internal enum RecordState : byte
    {
        New,
        Disposed
    }

    public enum ColumnType
    {
        UNKNOWN,
        DBASE3_CHARACTER,
        DBASE3_NUMBER,
        DBASE3_LOGICAL,
        DBASE3_DATE,
        DBASE3_MEMO,
        DBASE4_FLOAT,
        DBASE5_BINARY,
        DBASE5_GENERAL,
        FOXPRO_PICTURE,
        FOXPRO_CURRENCY,
        FOXPRO_DATETIME,
        FOXPRO_INTEGER,
        FOXPRO_VARIFIELD,
        FOXPRO_VARCHAR,
        FOXPRO_TIMESTAMP,
        FOXPRO_DOUBLE,
        FOXPRO_AUTOINC,
    }
    
    public enum AdvancedColumnType
    {
        UNKNOWN,
        // Non standard types
        DATE_YMD,
        BYTE,
        SBYTE,
        STRING,
        CHARW,
        INT16,
        UINT16,
        INT32,
        UINT32,
        INT64,
        UINT64,
        SINGLE,
        DOUBLE,
        DECIMAL,
        DATETIME,
        BYTES,
        DELAYED,
        DELETED_FLAG
    }

}
